//打印环境变量

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
    //打印进程的pid
    printf("pid = %d, ppid = %d\n", getpid(), getppid());

    //打印命令行参数
    printf("Arguments:\n");
    for(int i=0; i<argc; i++)
    {
        puts(argv[i]);
    }

    //打印环境变量
    extern char ** __environ;
    char ** p = __environ;
    //p指向的为一个环境变量表，表中存储的数据为环境变量的地址，并且指针数组以null结尾
    while(*p != NULL)
    {
        printf("%s\n", *p);
        p++;
    }
    return 0;
}